<?php
$sanitize_all_escapes = true;
$fake_register_globals = false;
session_start();
$ignoreAuth = true;
include_once('../interface/globals.php');

// to the url parameter are added 4 parameters as described in colModel
// we should get these parameters to construct the needed query
// Since we specify in the options of the grid that we will use a GET method 
// we should use the appropriate command to obtain the parameters. 
// In our case this is $_GET. If we specify that we want to use post 
// we should use $_POST. Maybe the better way is to use $_REQUEST, which
// contain both the GET and POST variables. For more information refer to php documentation.
// Get the requested page. By default grid sets this to 1. 
$page = $_GET['page'];

// get how many rows we want to have into the grid - rowNum parameter in the grid 
$limit = $_GET['rows'];

// get index row - i.e. user click to sort. At first time sortname parameter -
// after that the index from colModel 
$sidx = $_GET['sidx'];

// sorting order - at first time sortorder 
$sord = $_GET['sord'];

// if we not pass at first time index use the first column for the index or what you want
if (!$sidx)
    $sidx = 1;

$pid = $_REQUEST["pid"];
$res = sqlStatement("select count(*) as count from patient_provider where pid={$pid}");
$row = sqlFetchArray($res);
$count = $row['count'];

// calculate the total pages for the query 
if ($count > 0 && $limit > 0) {
    $total_pages = ceil($count / $limit);
} else {
    $total_pages = 0;
}

// if for some reasons the requested page is greater than the total 
// set the requested page to total page 
if ($page > $total_pages)
    $page = $total_pages;

// calculate the starting position of the rows 
$start = $limit * $page - $limit;

// if for some reasons start position is negative set it to 0 
// typical case is that the user type 0 for the requested page 
if ($start < 0)
    $start = 0;

// the actual query for the grid data 
// we should set the appropriate header information. Do not forget this.
header("Content-type: text/xml;charset=utf-8");

$s = "<?xml version='1.0' encoding='utf-8'?>";
$s .= "<rows>";
$s .= "<page>" . $page . "</page>";
$s .= "<total>" . $total_pages . "</total>";
$s .= "<records>" . $count . "</records>";

$SQL = "select pat.id as id, user.fname, user.lname, 
        pat.patient_general_data, 
        pat.provider_connected_patient,
        pat.favorite,
        pat.details_auth_by_patient
        from patient_provider pat
        LEFT JOIN users user ON pat.provider_id=user.id
        where pid={$pid} ORDER BY $sidx $sord LIMIT $start , $limit";
$res = sqlStatement($SQL);
// be sure to put text data in CDATA
while ($row = sqlFetchArray($res)) {
    $s .= "<row id='" . $row['id'] . "'>";
    $s .= "<cell>" . $row['fname']. " " . $row['lname']. "</cell>";
    $s .= "<cell>" . ($row['provider_connected_patient'] == "0"? "No":"Si") . "</cell>";
    $s .= "<cell>" . ($row['favorite'] == "0"? "No":"Si") . "</cell>";
    $s .= "<cell>" . ($row['patient_general_data'] == "0"? "No":"Si") . "</cell>";
    $s .= "<cell>" . ($row['details_auth_by_patient'] == "0"? "No":"Si") . "</cell>";
    $s .= "</row>";
}
$s .= "</rows>";

echo $s;
?>
